package com.ruoyi.business.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.business.domain.ChapterInfo;
import com.ruoyi.business.domain.vo.ChapterDetailVo;
import com.ruoyi.system.domain.vo.InnerObjVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author 最爱喝兽奶
 * @create 2022/7/31
 **/
public interface ChapterInfoMapper extends BaseMapper<ChapterInfo> {

    /**
     * 获取当课程的最大章节
     * @param courseId 传入课程id
     * @return 返回当前的最大章节数
     */
    Long selectMaxLesson(@Param("courseId") String courseId);

    /**
     * 查询下一个id
     * @param lessonNumber
     * @param courseId
     * @return
     */
    ChapterInfo selectNextId(@Param("lessonNumber") Long lessonNumber,
                             @Param("courseId") String courseId);

    /**
     * 查询上一个id
     * @param lessonNumber
     * @param courseId
     * @return
     */
    ChapterInfo selectPreId(@Param("lessonNumber") Long lessonNumber,
                            @Param("courseId") String courseId);

    /**
     * 查询课程下所有章节的id和名称的对应关系
     * @param courseId 课程id
     * @return
     */
    List<InnerObjVo> queryChapterInfoRef(@Param("courseId") String courseId);


    /**
     * 查询课程下的章节
     *
     */
     List<ChapterDetailVo> queryCourseChapter(String id);


    /**
     * 根据传入的章节id来更新小节数
     * @param chapterId 传入的章节id
     * @return
     */
    Integer updateVideoNumberById(@Param("chapterId") Long chapterId);
}
